import request from '@/utils/request'

export default {
    // 分页条件查询分类列表(“query”作名词时意为“查询”，作动词时意为“怀疑、疑问”。在此处它是一个对象，表示（内含）用于条件查询的“两个条件（属性）”（即“分类名称”和“状态”）)↓
    getList(query, current = 1, size = 20) {
        return request({ // 此处返回的是一个“Promise”对象（来自ES6的语法）
            url: `/article/category/search`,
            method: 'post',
            data: { // ←左边这项等价于{name: '前端', status: 1, current: current, size: size}
                ...query, // ←左边这项中的“...”是ES6中的新语法，中文名叫“扩展运算符”。其作用是取出作为其参数的对象中的所有可被遍历的属性，并把它们拷贝到当前对象中。因为“数组是特殊类型的对象（因为数组中元素的下标相当于与该数组同名、元素的值和排序相同的对象中的元素的键名（key））”，所以数组也能使用“扩展运算符”。因此，“...query”表示“把对象‘query’中包含的两个属性（查询条件）从‘query’取出来并放到‘data’中”
                current, // ←左边这项等价于ES5中的“current:current”
                size // ←左边这项等价于ES5中的“size:size”
            }
        })
    },
    add(data){
        return request({
            url:`/article/category`,
            method:'post',
            data // ←注：左边这项相当于ES5中的“data:data”
        })
    },
    // 通过ID查询类别详情
    getById(id){
        return request({
            url:`/article/category/${id}`,
            method:'get'
        })
    },
    // 更新
    update(data){
        return request({
            url:`/article/category/`,
            method:'put',
            data // ←注：左边这项相当于ES5中的“data:data”
        })
    },
    // 删除
    deleteById(id){
        return request({
            url:`/article/category/${id}`,
            method:'delete'
        })
    },
    // 查询正常状态的分类
    getNormalList(){
        return request({
            url:'/article/category/list',
            method:'get'
        })
    },
    // 获取所有正常状态下的分类和标签
    getCategoryAndLabel(){
        return request({
            url:'article/category/label/list',
            method:'get'
        })
    },
}